#ifndef _MemHeap_H_
#define _MemHeap_H_

#include "stdint.h"


typedef struct{
    uint32_t head;
    uint32_t tail;
}MemHeapType;


extern MemHeapType g_typeMemHeapHead;


void vMemHeapInit(void);
void vMemHeapCreate(MemHeapType *ptypeHanle, void *pvMem, size_t size);
void *pvMemHeapMalloc(MemHeapType *ptypeHanle, size_t size);
void *pvMemHeapCalloc(MemHeapType *ptypeHanle, size_t nitems, size_t size);
void *pvMemHeapRealloc(MemHeapType *ptypeHanle, void *pvMem, size_t size);
void vMemHeapFree(MemHeapType *ptypeHanle, void *pvMem);


#endif // DEVICESMEMHEAP_H_INCLUDED

